package br.com.pibjp.model.entity;

import java.util.ArrayList;
import java.util.List;

import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;

import br.com.pibjp.model.enumeration.TipoCelula;

@Entity
public class Celula {
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	private int id;
	private String descricao;
	
	@Enumerated(EnumType.STRING)
	private TipoCelula tipo;
	
	@OneToMany(mappedBy="celula", fetch=FetchType.LAZY)
	private List<Cursilhista> cursilhistas;
	
	@OneToOne(fetch=FetchType.LAZY)
	private Colaborador colaborador1;
	@OneToOne(fetch=FetchType.LAZY)
	private Colaborador colaborador2;
	
	public Celula(){
		cursilhistas = new ArrayList<Cursilhista>();
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public TipoCelula getTipo() {
		return tipo;
	}

	public void setTipo(TipoCelula tipo) {
		this.tipo = tipo;
	}

	public List<Cursilhista> getCursilhistas() {
		return cursilhistas;
	}

	public void setCursilhistas(List<Cursilhista> cursilhistas) {
		this.cursilhistas = cursilhistas;
	}

	public Colaborador getColaborador1() {
		return colaborador1;
	}

	public void setColaborador1(Colaborador colaborador1) {
		this.colaborador1 = colaborador1;
	}

	public Colaborador getColaborador2() {
		return colaborador2;
	}

	public void setColaborador2(Colaborador colaborador2) {
		this.colaborador2 = colaborador2;
	}
}
